<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

/***************************************************************************************************
* 下面是Aouth2.0的密码模式的东西（官方推荐来代替laravel自带的API模式） start
* 这部分要自己手动创建 控制器UserController
****************************************************************************************************
*概念：
*重点： 没有token的时候访问资源，返回的是服务端（微信资源服务器）的登陆界面，passport自带的（安装了laravel/passport就有，不要和laravel/ui的前端页面混淆）【不要和客户端的登陆界面混淆】
*注意： postman完全可以模拟整个过程。
***************************
* 过程：
* 1 填写账号密码
* 2 返回token
* 3 使用token（仅仅使用token，账号、密码、任何参数都不需要）
****************************************************************************************************
* 
**/
Route::post('login', 'API\UserController@login');
Route::post('register', 'API\UserController@register');
//检验效果：
Route::group(['middleware' => 'auth:api'], function(){
    Route::post('details', 'API\UserController@details');
});
/***************************************************************************************************/


//////////////////////////////////////////////////////////////////无需登录验证
Route::get('articles', 'ArticleController@index');
header('Access-Control-Allow-Origin: *');
Route::get('articles/{article}', 'ArticleController@show');
Route::post('articles', 'ArticleController@store');
Route::put('articles/{article}', 'ArticleController@update');
Route::delete('articles/{article}', 'ArticleController@delete');
Route::get('image/{imageName}', 'ImageController@search');
Route::get('articles/screenTree/{params}', 'ArticleController@screenTree');
/////////////////////////////////////////////////////////////////////////////////下面的，加了登录验证
Route::middleware(['auth:api'])->group(function(){		//路由组---中间件
	Route::get('articles', 'ArticleController@index');
	Route::get('articles/{article}', 'ArticleController@show');
	Route::post('articles', 'ArticleController@store');
	Route::put('articles/{article}', 'ArticleController@update');
	Route::delete('articles/{article}', 'ArticleController@delete');
});
